<template>
	<!-- 验证码登录 -->
	<view>
		<view class="logo">
			<image src="/static/images/newhone/logo.png"></image>
		</view>
		<view class="title" v-if="invite_code==''">短信验证登录</view>
		<view class="title" v-else>短信验证注册</view>
		<view class="desc1">未注册的手机号将自动注册</view>
		<view class="phone">
			<input type="number" maxlength="11" v-model="phone" placeholder="点击输入手机号码" />
			<view class="codemain" @click="getCode">{{tips}}</view>
			<view class="wrap">
				<u-toast ref="uToast"></u-toast>
				<u-verification-code :seconds="seconds" ref="uCode" @change="codeChange"></u-verification-code>
			</view>
		</view>
		<view class="code">
			<input type="number" maxlength="6" v-model="code" placeholder="输入6位验证码" @confirm="codelogin" />
		</view>
		<view class="loginbtn" @click="codelogin" v-if="invite_code==''">
			<image src="/static/images/newhone/loginBtn.png"></image>
			<text>确定登录</text>
		</view>
		<view class="loginbtn" @click="register" v-else>
			<image src="/static/images/newhone/loginBtn.png"></image>
			<text>确定注册</text>
		</view>
		<!-- #ifdef APP-PLUS -->
		<!-- <view class="desc2" v-if="invite_code==''">其他登录方式</view> -->
		<view class="loginType" v-if="invite_code==''">
			<view class="loginType_item">
				<!-- <image src="/static/images/univerifylogin.png" @click="univerifyLogin"></image> -->
				<!-- <text>一键登录</text> -->
			</view>
			<view class="loginType_item" @click="wxlogin" v-if="isExistWx">
				<!-- <image src="/static/images/wxlogin.png"></image> -->
				<!-- <text>微信登录</text> -->
			</view>
			<!-- 苹果登录 -->
			<view class="loginType_item" @click="appleLogin" v-if="isIos">
				<!-- <image src="/static/images/apple_bg.png"></image> -->
				<!-- <text>Apple登录</text> -->
			</view>
		</view>
		<!-- #endif -->
		<view class="agreement">
			<!-- <!-- <u-checkbox-group> -->
				<u-checkbox class="checkicon" @change="checkboxChange" size="36" shape="circle" v-model="isAgree" active-color="#FF6408"></u-checkbox></u-checkbox>
			</u-checkbox-group>
			<image style="width: 30rpx;height: 30rpx;" src="@/static/images/newhone/check.png" @click="checkboxChange" v-if="isAgree"></image>
			<image style="width: 30rpx;height: 30rpx;" src="@/static/images/newhone/noCheck.png" @click="checkboxChange" v-else></image>
			<view class="agree">
				我已阅读并同意<text @click="navAgreement(2)">《用户服务协议》</text>
				和<text @click="navAgreement(3)">《隐私政策》</text>
			</view>
		</view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				phone:'',
				code:'',//验证码
				tips: '',
				seconds: 60,
				isAgree:false,//是否同意注册协议
				invite_code:'',//邀请码
				isIos:false,
				isExistWx:true,
				clientId:'',//设备的唯一标识
				deviceType:''//设备的唯一标识类型：imei/oaid
			}
		},
		onLoad(options) {
			if(options.invite_code){
				this.invite_code = options.invite_code;
			}
			this.isIos = uni.getStorageSync('isIos');
			if(this.isIos){
				this.isExistWx = uni.getStorageSync('isExistWx');
			}
		},
		onShow() {
			this.getClientId();
		},
		methods: {
			//获取设备的唯一标识
			getClientId() {
				plus.device.getOAID({
					success: (e) => {
						this.clientId = e.oaid;
						this.deviceType = 'oaid';
						console.log("clientId: ",this.clientId);
						console.log("deviceType: ",this.deviceType);
						if(!clientId || clientId == '00000000-0000-0000-0000-000000000000'){
							plus.device.getInfo({
								success: (e) => {
									this.clientId = e.uuid;
									this.deviceType = 'imei';
									console.log("clientId: ",this.clientId);
									console.log("deviceType: ",this.deviceType);
								},
								fail: (e) => {
									console.log(e);
								}
							});
						}
					},
					fail: (e) => {
						console.log(e);
					}
				});
			},
			// 一键登录
			univerifyLogin() {
				uni.getProvider({
					service: 'oauth',
					success: (res)=> {
						// 预登录
						uni.preLogin({
							provider:'univerify',
							success: (preRes) => {
								// 调用一键登录弹框
								uni.login({
									provider:'univerify',
									univerifyStyle: {
										"fullScreen": true, // 是否全屏显示，默认值： false
										"backgroundColor": "#F5F5F5",  // 授权页面背景颜色，默认值：#ffffff
										"backgroundImage": "", // 全屏显示的背景图片，默认值："" （仅支持本地图片，只有全屏显示时支持）  
										"icon": {  
										    "path": "/static/logo.png" // 自定义显示在授权框中的logo，仅支持本地图片 默认显示App logo   
										},  
										"closeIcon": {  
										    "path": "/static/xxx.png" // 自定义关闭按钮，仅支持本地图片。 HBuilderX3.3.7+版本支持
										},  
										"phoneNum": {  
										    "color": "#333333"  // 手机号文字颜色 默认值：#202020  
										},  
										"slogan": {  
										    "color": "#BBBBBB"  //  slogan 字体颜色 默认值：#BBBBBB  
										},  
										"authButton": {  
										    "normalColor": "#FF6408", // 授权按钮正常状态背景颜色 默认值：#3479f5  
										    "highlightColor": "#FF6408",  // 授权按钮按下状态背景颜色 默认值：#2861c5（仅ios支持）  
										    "disabledColor": "#ff9224",  // 授权按钮不可点击时背景颜色 默认值：#73aaf5（仅ios支持）  
										    "textColor": "#ffffff",  // 授权按钮文字颜色 默认值：#ffffff  
										    "title": "本机号码一键登录", // 授权按钮文案 默认值：“本机号码一键登录”  
										    "borderRadius": "24px"	// 授权按钮圆角 默认值："24px" （按钮高度的一半）
										},  
										"otherLoginButton": {  
										    "visible": true, // 是否显示其他登录按钮，默认值：true  
										    "normalColor": "", // 其他登录按钮正常状态背景颜色 默认值：透明 
										    "highlightColor": "", // 其他登录按钮按下状态背景颜色 默认值：透明 
										    "textColor": "#656565", // 其他登录按钮文字颜色 默认值：#656565  
										    "title": "其他登录方式", // 其他登录方式按钮文字 默认值：“其他登录方式”  
										    "borderColor": "",  //边框颜色 默认值：透明（仅iOS支持）  
										    "borderRadius": "0px" // 其他登录按钮圆角 默认值："24px" （按钮高度的一半）
										},  
										"privacyTerms": {  
										    "defaultCheckBoxState":false, // 条款勾选框初始状态 默认值： true
										    "uncheckedImage":"/static/images/check.png", // 可选 条款勾选框未选中状态图片（仅支持本地图片 建议尺寸 24x24px）(3.2.0+ 版本支持)   
										    "checkedImage":"/static/images/checked.png", // 可选 条款勾选框选中状态图片（仅支持本地图片 建议尺寸24x24px）(3.2.0+ 版本支持)   
										    "checkBoxSize":18, // 可选 条款勾选框大小，仅android支持
										    "textColor": "#666666", // 文字颜色 默认值：#BBBBBB  
										    "termsColor": "#FF6408", //  协议文字颜色 默认值： #5496E3  
										    "prefix": "我已阅读并同意", // 条款前的文案 默认值：“我已阅读并同意”  
										    "suffix": "并使用本机号码登录", // 条款后的文案 默认值：“并使用本机号码登录”  
										    "privacyItems": [  // 自定义协议条款，最大支持2个，需要同时设置url和title. 否则不生效  
										        {  
										            "url": "https://mh.mytshop.cn/api/my/server_content_html", // 点击跳转的协议详情页面  
										            "title": "用户服务协议" // 协议名称  
										        },
												{
												    "url": "https://mh.mytshop.cn/api/my/privacy_content_html", // 点击跳转的协议详情页面  
												    "title": "隐私政策" // 协议名称  
												}  
										    ]  
										},
										"buttons": {  // 自定义页面下方按钮仅全屏模式生效（3.1.14+ 版本支持）
										    "iconWidth": "45px", // 图标宽度（高度等比例缩放） 默认值：45px
										    "list": [
										        {
										            "provider": "code",
										            "iconPath": "/static/images/codelogin.png" // 图标路径仅支持本地图片
										        }, 
										        {
										            "provider": "weixin",
										            "iconPath": "/static/images/wxlogin.png" // 图标路径仅支持本地图片
										        }
										    ]
										}
									},
									success:(res)=> {
										uniCloud.callFunction({
											name: 'oneclicklogin',
											data: {
												'access_token': res.authResult.access_token, 
												'openid': res.authResult.openid
											}
										}).then(result => {
											if(result.result.code === 0){
												console.log("一键登录result: ", result.result.phoneNumber);
												this.$api.logincode({
													phone:result.result.phoneNumber,
													type:3
												}).then(loginRes=>{
													uni.setStorageSync('token',loginRes.session_num);
													let logType = '';
													if(loginRes.is_new == 1){
														logType = 'register';
													}else{
														logType = 'login';
													}
													// 绑定设备号
													let deviceId = uni.getSystemInfoSync().deviceId;
													let deviceBrand = uni.getSystemInfoSync().deviceBrand;
													// console.log("deviceId: ",deviceId);
													// console.log("deviceBrand: ",deviceBrand);
													// console.log("logType: ",logType);
													// console.log("deviceType: ",this.deviceType);
													// console.log("clientId: ",this.clientId);
													// console.log("token: ",uni.getStorageSync('token'));
													this.$api.binddevice({device_id:deviceId}).then(deviceRes=>{
														console.log("deviceRes: ",deviceRes);
														this.$api.vivoopen({
															device_id :deviceId,
															brand:deviceBrand,
															type:logType,
															device_type:this.deviceType,
															device_unicode:this.clientId
														}).then(openres=>{
															console.log("openres: ",openres);
															uni.showToast({
																title:'登录成功',
																icon:'none'
															})
															setTimeout(()=>{
																uni.closeAuthView();
																uni.switchTab({
																	url:'/pages/choujiang/index'
																})
															},1000)
														})
													})
												})
											}
										}).catch(err => {
											console.log("一键登录err: ", res);
										})
									},
									fail:(otherlogin)=> {
										console.log("otherlogin: ",otherlogin);
										if(otherlogin.index === 0){
											uni.closeAuthView();
										}else if(otherlogin.index === 1){
											this.wxlogin();
										}
									}
								})
							},
							fail: (preFail) => {
								uni.showModal({
									title:'温馨提示',
									content:'请开启数据网络！',
									showCancel:false
								})
							}
						});
					}
				});
			},
			back(){
				uni.navigateBack();
			},
			codeChange(text) {
				this.tips = text;
			},
			//获取验证码
			getCode() {
				if (this.phone == '' || this.phone == undefined) {
					uni.showToast({
						title: '请输入手机号',
						icon: 'none'
					})
					return
				}
				if (!/^1[3-9][0-9]{9}$/.test(this.phone)) {
					uni.showToast({
						title: '手机号码不正确，请重新填写',
						icon: 'none'
					})
					return
				}
				if(this.$refs.uCode.canGetCode) {
					// 模拟向后端请求验证码
					uni.showLoading({
						title: '正在获取验证码'
					})
					this.$api.getcode({phone:this.phone}).then(res => {
						uni.hideLoading();
						// 这里此提示会被this.start()方法中的提示覆盖
						this.$u.toast('验证码已发送');
						// 通知验证码组件内部开始倒计时
						this.$refs.uCode.start();
					})
				} else {
					this.$u.toast('请倒计时结束后再获取');
				}
			},
			//注册
			register(){
				let ua = window.navigator.userAgent.toLowerCase();
				if (ua.match(/micromessenger/i) == 'micromessenger') {
				    // 微信中打开
					uni.showModal({
						title:'温馨提示',
						content:'请在浏览器中打开再注册',
						showCancel:false
					})
					return
				}
				if (this.phone == '' || this.phone == undefined) {
					uni.showToast({
						title: '请输入手机号',
						icon: 'none'
					})
					return
				}
				if (!/^1[3-9][0-9]{9}$/.test(this.phone)) {
					uni.showToast({
						title: '手机号码不正确，请重新填写',
						icon: 'none'
					})
					return
				}
				if (this.code == '') {
					uni.showToast({
						title: '请输入验证码',
						icon: 'none'
					})
					return
				}
				uni.showLoading({
					title: '注册中...'
				})
				this.$api.registercode({
					phone:this.phone,
					code:this.code,
					invite_code:this.invite_code
				}).then(regres => {
					uni.hideLoading();
					uni.showToast({
						title:'注册成功',
						icon:'none'
					})
					// setTimeout(() => {
					// 	uni.showModal({
					// 		title:'温馨提示',
					// 		content:'是否下载APP？',
					// 		success: (res) => {
					// 			if(res.confirm){
					// 				if(uni.getSystemInfoSync().platform == 'ios'){
					// 					location.href = 'http://itunes.apple.com/app/id1541793795';//APP Store
					// 				}else{
					// 					location.href = 'http://mh.mytshop.cn/app/xinxuanhezi.apk';
					// 				}
					// 			}
					// 		}
					// 	})
					// }, 1000)
					if(uni.getSystemInfoSync().platform !== 'ios'){
						setTimeout(() => {
							uni.showModal({
								title:'温馨提示',
								content:'是否下载APP？',
								success: (res) => {
									if(res.confirm){
										location.href = 'http://mh.mytshop.cn/app/xinxuanhezi.apk';
									}
								}
							})
						}, 1000)
					}
				})
			},
			//验证码登录
			codelogin() {
				if (this.phone == '' || this.phone == undefined) {
					uni.showToast({
						title: '请输入手机号',
						icon: 'none'
					})
					return
				}
				if (!/^1[3-9][0-9]{9}$/.test(this.phone)) {
					uni.showToast({
						title: '手机号码不正确，请重新填写',
						icon: 'none'
					})
					return
				}
				if (this.code == '') {
					uni.showToast({
						title: '请输入验证码',
						icon: 'none'
					})
					return
				}
				if(!this.isAgree){
					uni.showToast({
						title:'请阅读并同意《用户服务协议》和《隐私政策》',
						icon:"none"
					})
					return
				}
				uni.showLoading({
					title: '登录中...'
				})
				this.$api.logincode({
					phone:this.phone,
					code:this.code,
					device_unicode:this.clientId
				}).then(loginRes => {
					console.log("loginRes: ",loginRes);
					uni.hideLoading();
					uni.setStorageSync('token',loginRes.session_num);
					let logType = '';
					if(loginRes.is_new == 1){
						logType = 'register';
					}else{
						logType = 'login';
					}
					// 绑定设备号
					let deviceId = uni.getSystemInfoSync().deviceId;
					let deviceBrand = uni.getSystemInfoSync().deviceBrand;
					this.$api.binddevice({device_id:deviceId}).then(deviceRes=>{
						this.$api.vivoopen({
							device_id :deviceId,
							brand:deviceBrand,
							type:logType,
							device_type:this.deviceType,
							device_unicode:this.clientId
						}).then(openres=>{
							uni.showToast({
								title:'登录成功',
								icon:'none'
							})
							setTimeout(()=>{
								uni.closeAuthView();
								uni.switchTab({
									url:'/pages/choujiang/index'
								})
							},1000)
						})
					})
				})
			},
			//微信登录
			wxlogin(){
				if(!this.isAgree){
					uni.showToast({
						title:'请阅读并同意《用户服务协议》和《隐私政策》',
						icon:"none"
					})
					return
				}
				uni.showLoading({
					title:'登录中...'
				})
				uni.getProvider({
					service: 'oauth',
					success:(res) => {
						if (~res.provider.indexOf('weixin')) {
							uni.login({
								provider: 'weixin',
								success: (loginRes) => {
									console.log("loginRes: ",loginRes);
									this.$api.wxlogin({
										access_token: loginRes.authResult.access_token,
										openid: loginRes.authResult.openid,
										device_unicode:this.clientId
									}).then(wxloginRes => {
										console.log("wxloginRes: ",wxloginRes);
										uni.hideLoading();
										uni.setStorageSync('token',wxloginRes.session_num);
										if(wxloginRes.is_bind_phone == 1){
											// 绑定设备号
											let deviceId = uni.getSystemInfoSync().deviceId;
											let deviceBrand = uni.getSystemInfoSync().deviceBrand;
											this.$api.binddevice({device_id:deviceId}).then(deviceRes=>{
												this.$api.vivoopen({
													device_id :deviceId,
													brand:deviceBrand,
													type:'login',
													device_type:this.deviceType,
													device_unicode:this.clientId
												}).then(openres=>{
													uni.showToast({
														title:'登录成功',
														icon:'none'
													})
													setTimeout(()=>{
														uni.switchTab({
															url:'/pages/choujiang/index'
														})
													},1000)
												})
											})
										}else{
											/* this.bindphone(); */
											uni.hideLoading();
											uni.navigateTo({
												url:'/pages/login/bindphone?openid=' + loginRes.authResult.openid + '&device=wx'
											})
										}
									})
								},
								fail: (err) => {
									uni.hideLoading();
									uni.showToast({
										title: '登录失败，请重试',
										icon: 'none'
									})
								}
							})
						}
					}
				})
			},
			//微信登录绑定手机号
			bindphone() {
				uni.getProvider({
					service: 'oauth',
					success: (res)=> {
						// 预登录
						uni.preLogin({
							provider:'univerify',
							success: (preRes) => {
								// 调用一键登录弹框
								uni.login({
									provider:'univerify',
									univerifyStyle: {
										"fullScreen": true, // 是否全屏显示，默认值： false
										"backgroundColor": "#F5F5F5",  // 授权页面背景颜色，默认值：#ffffff
										"backgroundImage": "", // 全屏显示的背景图片，默认值："" （仅支持本地图片，只有全屏显示时支持）  
										"icon": {  
										    "path": "/static/logo.png" // 自定义显示在授权框中的logo，仅支持本地图片 默认显示App logo   
										},  
										"closeIcon": {  
										    "path": "/static/xxx.png" // 自定义关闭按钮，仅支持本地图片。 HBuilderX3.3.7+版本支持
										},  
										"phoneNum": {  
										    "color": "#333333"  // 手机号文字颜色 默认值：#202020  
										},  
										"slogan": {  
										    "color": "#BBBBBB"  //  slogan 字体颜色 默认值：#BBBBBB  
										},  
										"authButton": {  
										    "normalColor": "#FF6408", // 授权按钮正常状态背景颜色 默认值：#3479f5  
										    "highlightColor": "#FF6408",  // 授权按钮按下状态背景颜色 默认值：#2861c5（仅ios支持）  
										    "disabledColor": "#ff9224",  // 授权按钮不可点击时背景颜色 默认值：#73aaf5（仅ios支持）  
										    "textColor": "#ffffff",  // 授权按钮文字颜色 默认值：#ffffff  
										    "title": "绑定手机号", // 授权按钮文案 默认值：“本机号码一键登录”  
										    "borderRadius": "24px"	// 授权按钮圆角 默认值："24px" （按钮高度的一半）
										},  
										"otherLoginButton": {
										    "visible": false, // 是否显示其他登录按钮，默认值：true
										}, 
										"privacyTerms": {  
										    "defaultCheckBoxState":false, // 条款勾选框初始状态 默认值： true
										    "uncheckedImage":"/static/images/check.png", // 可选 条款勾选框未选中状态图片（仅支持本地图片 建议尺寸 24x24px）(3.2.0+ 版本支持)   
										    "checkedImage":"/static/images/checked.png", // 可选 条款勾选框选中状态图片（仅支持本地图片 建议尺寸24x24px）(3.2.0+ 版本支持)   
										    "checkBoxSize":18, // 可选 条款勾选框大小，仅android支持
										    "textColor": "#666666", // 文字颜色 默认值：#BBBBBB  
										    "termsColor": "#FF6408", //  协议文字颜色 默认值： #5496E3  
										    "prefix": "我已阅读并同意", // 条款前的文案 默认值：“我已阅读并同意”  
										    "suffix": "并使用本机号码登录", // 条款后的文案 默认值：“并使用本机号码登录”  
										    "privacyItems": [  // 自定义协议条款，最大支持2个，需要同时设置url和title. 否则不生效  
										        {  
										            "url": "https://mh.mytshop.cn/api/my/server_content_html", // 点击跳转的协议详情页面  
										            "title": "用户服务协议" // 协议名称  
										        },
												{
												    "url": "https://mh.mytshop.cn/api/my/privacy_content_html", // 点击跳转的协议详情页面  
												    "title": "隐私政策" // 协议名称  
												}  
										    ]  
										}
									},
									success:(res)=> {
										uniCloud.callFunction({
											name: 'oneclicklogin',
											data: {
												'access_token': res.authResult.access_token, 
												'openid': res.authResult.openid
											}
										}).then(result => {
											if(result.result.code === 0){
												console.log("一键登录result: ", result.result.phoneNumber);
												this.$api.bindphone({
													phone:result.result.phoneNumber
												}).then(loginRes=>{
													console.log("loginRes: ",loginRes);
													// 绑定设备号
													let deviceId = uni.getSystemInfoSync().deviceId;
													let deviceBrand = uni.getSystemInfoSync().deviceBrand;
													this.$api.binddevice({device_id:deviceId}).then(deviceRes=>{
														this.$api.vivoopen({
															device_id :deviceId,
															brand:deviceBrand,
															type:'login',
															device_type:this.deviceType,
															device_unicode:this.clientId
														}).then(openres=>{
															uni.showToast({
																title:'登录成功',
																icon:'none'
															})
															setTimeout(()=>{
																uni.closeAuthView();
																uni.switchTab({
																	url:'/pages/index/index'
																})
															},1000)
														})
													})
												})
											}
										}).catch(err => {
											console.log("一键登录err: ", res);
											uni.showToast({
												title:'登录失败，请重试',
												icon:'none'
											})
											setTimeout(()=>{
												uni.redirectTo({
													url:'/pages/login/login'
												})
											})
										})
									},
									fail:(otherlogin)=> {
										console.log("otherlogin: ",otherlogin);
										uni.showToast({
											title:'登录失败，请重试',
											icon:'none'
										})
										setTimeout(()=>{
											uni.redirectTo({
												url:'/pages/login/login'
											})
										})
									}
								})
							},
							fail: (preFail) => {
								uni.showModal({
									title:'温馨提示',
									content:'登录失败，请开启数据网络后重试！',
									showCancel:false
								})
							}
						});
					}
				});
			},
			//苹果登录绑定手机号
			applebindphone(apple_openid) {
				uni.getProvider({
					service: 'oauth',
					success: (res)=> {
						// 预登录
						uni.preLogin({
							provider:'univerify',
							success: (preRes) => {
								// 调用一键登录弹框
								uni.login({
									provider:'univerify',
									univerifyStyle: {
										"fullScreen": true, // 是否全屏显示，默认值： false
										"backgroundColor": "#F5F5F5",  // 授权页面背景颜色，默认值：#ffffff
										"backgroundImage": "", // 全屏显示的背景图片，默认值："" （仅支持本地图片，只有全屏显示时支持）  
										"icon": {  
										    "path": "/static/logo.png" // 自定义显示在授权框中的logo，仅支持本地图片 默认显示App logo   
										},  
										"closeIcon": {  
										    "path": "/static/xxx.png" // 自定义关闭按钮，仅支持本地图片。 HBuilderX3.3.7+版本支持
										},  
										"phoneNum": {  
										    "color": "#333333"  // 手机号文字颜色 默认值：#202020  
										},  
										"slogan": {  
										    "color": "#BBBBBB"  //  slogan 字体颜色 默认值：#BBBBBB  
										},  
										"authButton": {  
										    "normalColor": "#FF6408", // 授权按钮正常状态背景颜色 默认值：#3479f5  
										    "highlightColor": "#FF6408",  // 授权按钮按下状态背景颜色 默认值：#2861c5（仅ios支持）  
										    "disabledColor": "#ff9224",  // 授权按钮不可点击时背景颜色 默认值：#73aaf5（仅ios支持）  
										    "textColor": "#ffffff",  // 授权按钮文字颜色 默认值：#ffffff  
										    "title": "绑定手机号", // 授权按钮文案 默认值：“本机号码一键登录”  
										    "borderRadius": "24px"	// 授权按钮圆角 默认值："24px" （按钮高度的一半）
										},  
										"otherLoginButton": {
										    "visible": false, // 是否显示其他登录按钮，默认值：true
										}, 
										"privacyTerms": {  
										    "defaultCheckBoxState":false, // 条款勾选框初始状态 默认值： true
										    "uncheckedImage":"/static/images/check.png", // 可选 条款勾选框未选中状态图片（仅支持本地图片 建议尺寸 24x24px）(3.2.0+ 版本支持)   
										    "checkedImage":"/static/images/checked.png", // 可选 条款勾选框选中状态图片（仅支持本地图片 建议尺寸24x24px）(3.2.0+ 版本支持)   
										    "checkBoxSize":18, // 可选 条款勾选框大小，仅android支持
										    "textColor": "#666666", // 文字颜色 默认值：#BBBBBB  
										    "termsColor": "#FF6408", //  协议文字颜色 默认值： #5496E3  
										    "prefix": "我已阅读并同意", // 条款前的文案 默认值：“我已阅读并同意”  
										    "suffix": "并使用本机号码登录", // 条款后的文案 默认值：“并使用本机号码登录”  
										    "privacyItems": [  // 自定义协议条款，最大支持2个，需要同时设置url和title. 否则不生效  
										        {  
										            "url": "https://mh.mytshop.cn/api/my/server_content_html", // 点击跳转的协议详情页面  
										            "title": "用户服务协议" // 协议名称  
										        },
												{
												    "url": "https://mh.mytshop.cn/api/my/privacy_content_html", // 点击跳转的协议详情页面  
												    "title": "隐私政策" // 协议名称  
												}  
										    ]  
										}
									},
									success:(res)=> {
										uniCloud.callFunction({
											name: 'oneclicklogin',
											data: {
												'access_token': res.authResult.access_token, 
												'openid': res.authResult.openid
											}
										}).then(result => {
											if(result.result.code === 0){
												console.log("一键登录result: ", result.result.phoneNumber);
												this.$api.logincode({
													phone:result.result.phoneNumber,
													type:3,
													apple_openid
												}).then(loginRes=>{
													console.log("loginRes: ",loginRes);
													uni.setStorageSync('token',loginRes.session_num);
													let logType = '';
													if(loginRes.is_new == 1){
														logType = 'register';
													}else{
														logType = 'login';
													}
													// 绑定设备号
													let deviceId = uni.getSystemInfoSync().deviceId;
													let deviceBrand = uni.getSystemInfoSync().deviceBrand;
													this.$api.binddevice({device_id:deviceId}).then(deviceRes=>{
														this.$api.vivoopen({
															device_id :deviceId,
															brand:deviceBrand,
															type:logType,
															device_type:this.deviceType,
															device_unicode:this.clientId
														}).then(openres=>{
															uni.showToast({
																title:'登录成功',
																icon:'none'
															})
															setTimeout(()=>{
																uni.closeAuthView();
																uni.switchTab({
																	url:'/pages/index/index'
																})
															},1000)
														})
													})
												})
											}
										}).catch(err => {
											console.log("一键登录err: ", res);
											uni.showToast({
												title:'登录失败，请重试',
												icon:'none'
											})
											setTimeout(()=>{
												uni.redirectTo({
													url:'/pages/login/login'
												})
											})
										})
									},
									fail:(otherlogin)=> {
										console.log("otherlogin: ",otherlogin);
										uni.showToast({
											title:'登录失败，请重试',
											icon:'none'
										})
										setTimeout(()=>{
											uni.redirectTo({
												url:'/pages/login/login'
											})
										})
									}
								})
							},
							fail: (preFail) => {
								uni.showModal({
									title:'温馨提示',
									content:'登录失败，请开启数据网络后重试！',
									showCancel:false
								})
							}
						});
					}
				});
			},
			// 苹果登录
			appleLogin() {
				// #ifdef APP-PLUS
				if(!this.isAgree){
					uni.showToast({
						title:'请阅读并同意《用户服务协议》和《隐私政策》',
						icon:"none"
					})
					return
				}
				uni.showLoading({
					title:'登录中...'
				})
				uni.login({
					provider: 'apple',
					scopes:'auth_user',
					success: (loginRes) => {
						uni.getUserInfo({
							provider: 'apple',
							success: (userInfoRes) => {
								console.log(userInfoRes);
								let userdata = {
									openId:userInfoRes.userInfo.openId,
									fullName:userInfoRes.userInfo.fullName,
									authorizationCode:userInfoRes.userInfo.authorizationCode,
									identityToken:userInfoRes.userInfo.identityToken,
									realUserStatus:userInfoRes.userInfo.realUserStatus,
								}
								this.$api.applelogin(userdata).then(appleRes=>{
									uni.hideLoading();
									uni.setStorageSync('token',appleRes.session_num);
									if(appleRes.is_bind_phone == 1){
										// 绑定设备号
										let deviceId = uni.getSystemInfoSync().deviceId;
										let deviceBrand = uni.getSystemInfoSync().deviceBrand;
										this.$api.binddevice({device_id:deviceId}).then(deviceRes=>{
											this.$api.vivoopen({
												device_id :deviceId,
												brand:deviceBrand,
												type:'login',
												device_type:this.deviceType,
												device_unicode:this.clientId
											}).then(openres=>{
												uni.showToast({
													title:'登录成功',
													icon:'none'
												})
												setTimeout(()=>{
													uni.switchTab({
														url:'/pages/index/index'
													})
												},1000)
											})
										})
									}else{
										this.applebindphone(userInfoRes.userInfo.openId);
									}
								})
							},
							fail: (err) => {
								console.log(err);
								uni.hideLoading();
							}
						})
					},
					fail: (err) => {
						console.log(err);
						uni.hideLoading();
					}
				})
				// #endif
			},
			//跳转注册协议
			navAgreement(index){
				switch(index){
					case 1:
						uni.navigateTo({
							url:'/pages/login/register/userRegistrationAgreement'
						})
						break;
					case 2:
						uni.navigateTo({
							url:'/pages/mine/setup/userAgreement'
						})
						break;
					case 3:
						uni.navigateTo({
							url:'/pages/mine/setup/privacyPolicy'
						})
						break;
					default:
						break;
				}
			},
			// 选中注册协议
			checkboxChange(e) {
				this.isAgree = !this.isAgree
			}
		}
	}
</script>

<style lang="scss">
page{
	padding-bottom: 30rpx;
}
.logo{
	width: 161rpx;
	height: 161rpx;
	// background: #FF6408;
	border-radius: 20rpx;
	margin: 150rpx auto 97rpx;
	
	image{
		@include img
	}
}
.title{
	font-size: 40rpx;
	font-family: Source Han Sans CN;
	font-weight: 600;
	color: #141414;
	margin: 49rpx 95rpx 20rpx;
}
.desc1{
	font-size: 20rpx;
	font-family: Source Han Sans CN;
	font-weight: 400;
	color: #999;
	margin: 0 0 95rpx 95rpx;
}
.desc2{
	font-size: 28rpx;
	font-family: Source Han Sans CN;
	font-weight: 400;
	color: #666;
	text-align: center;
}
.phone{
	@include between
	margin: 0 95rpx 49rpx;
	padding-bottom:11rpx;
	border-bottom:1rpx solid #BFBFBF;
	position: relative;
	
	input{
		width: 300rpx;
		font-size: 24rpx;
		font-family: Source Han Sans CN;
		font-weight: 400;
		color: #666666;
	}
	.codemain{
		color: #1A7AF6;
		position: absolute;
		right: 10rpx;
		font-size: 24rpx;
	}
}
.code{
	@include between
	margin: 0 95rpx 49rpx;
	padding-bottom:11rpx;
	border-bottom:1rpx solid #BFBFBF;
	
	input{
		width: 100%;
		font-size: 24rpx;
		font-family: Source Han Sans CN;
		font-weight: 400;
		color: #666666;
	}
}
.loginbtn{
	margin: 60rpx 0 100rpx;
	@include center
	position: relative;
	
	image{
		width: 560rpx;
		height: 70rpx;
	}
	text{
		font-size: 30rpx;
		font-family: Source Han Sans CN;
		font-weight: 400;
		color: #FFFFFF;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
	}
}
.loginType{
	margin: 39rpx auto 93rpx;
	@include center;
	
	&_item{
		@include column-center;
		margin-right: 100rpx;
		
		&:last-child{
			margin-right: 0;
		}
		image{
			width: 90rpx;
			height: 90rpx;
		}
		text{
			font-size: 24rpx;
			font-family: Source Han Sans CN;
			font-weight: 400;
			color: #666666;
			margin-top: 10rpx;
		}
	}
}
.ioslogin{
	margin: 60rpx 220rpx 100rpx;
	@include center
	
	&_item{
		@include column-center;
		
		image{
			width: 90rpx;
			height: 90rpx;
		}
		text{
			font-size: 24rpx;
			font-family: Source Han Sans CN;
			font-weight: 400;
			color: #666666;
			margin-top: 10rpx;
		}
	}
}
.agreement{
	font-size: 24rpx;
	font-family: Source Han Sans CN;
	font-weight: 400;
	color: #999;
	text-align: center;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	.checkicon{
		position: absolute;
		left: -40rpx;
	}
	image{
		width: 30rpx;
		height: 30rpx;
		display: inline-block;
		margin-right: 13rpx;
	}
	.agree{
		line-height: 20rpx;
		text{
			color: #FF2418;
		}
	}
}
.sign-in-with-apple{
	width: 570rpx;
	height: 80rpx;
	background-color: #000000;
	color: $white;
	border-radius: 20rpx;
	margin: 50rpx auto 0;
	font-size: 28rpx;
	font-family: Source Han Sans CN;
	font-weight: 400;
	@include center
	
	image{
		width: 40rpx;
		height: 40rpx;
		z-index: 99;
		margin-right: 20rpx;
	}
}
</style>
